accessible: Use set_widget() in destroy notify
authorBenjamin Otte <otte@redhat.com>
Sun, 18 Dec 2011 12:07:07 +0000 (13:07 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 19 Dec 2011 15:17:12 +0000 (16:17 +0100)
We don't want to bypass the unset_widget call.

gtk/gtkaccessible.c

index e999b092d7c2a8c8f591e3a625bea7239130f255..a84eddf033db751b66aa95928ff19d97627101bc 100644 (file)
@@ -216,6 +216,13 @@ gtk_accessible_connect_widget_destroyed (GtkAccessible *accessible)
     class->connect_widget_destroyed (accessible);
 }
 
+static void
+gtk_accessible_widget_destroyed (GtkWidget     *widget,
+                                 GtkAccessible *accessible)
+{
+  gtk_accessible_set_widget (accessible, NULL);
+}
+
 static void
 gtk_accessible_real_connect_widget_destroyed (GtkAccessible *accessible)
 {
@@ -223,5 +230,5 @@ gtk_accessible_real_connect_widget_destroyed (GtkAccessible *accessible)
 
   if (priv->widget)
     g_signal_connect (priv->widget, "destroy",
-                      G_CALLBACK (gtk_widget_destroyed), &priv->widget);
+                      G_CALLBACK (gtk_accessible_widget_destroyed), accessible);
 }